#ifndef SERVER_H
#define SERVER_H

#include <QWidget>
#include <QTcpServer>
#include <QTcpSocket>
#include <QDebug>
#include <QTimer>

QT_BEGIN_NAMESPACE
namespace Ui { class server; }
QT_END_NAMESPACE

class server : public QWidget
{
    Q_OBJECT

public:
    server(QWidget *parent = nullptr);
    ~server();

private slots:
    //响应客户端连接请求的槽函数
    void onNewConnection();
    //接收客户端消息的槽函数
    void onReadyRrad();
    //把收到的消息转发给其他客户端
    void sendMessage(const QByteArray& buf);
    //创建服务器按钮对应的槽函数
    void on_pushButton_clicked();
    //定时器到时后执行函数
    void onTimeOut();

private:
    Ui::server *ui;
    QTcpServer tcpserver;
    quint16 port;   //服务端口号
    QList<QTcpSocket*> tcpClientList;   //容器:保存所有和客户端通信的套接字
    QTimer timer;   //定时器
};
#endif // SERVER_H
